using System;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.InteropServices;

using ILRuntime.CLR.TypeSystem;
using ILRuntime.CLR.Method;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.Runtime.Intepreter;
using ILRuntime.Runtime.Stack;
using ILRuntime.Reflection;
using ILRuntime.CLR.Utils;
using System.Linq;

namespace ILRuntime.Runtime.Generated
{
    unsafe class huqiang_Data_DataType2_Binding
    {
        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
        {
            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
            MethodBase method;
            FieldInfo field;
            Type[] args;
            Type type = typeof(huqiang.Data.DataType2);

            field = type.GetField("ElementLength", flag);
            app.RegisterCLRFieldGetter(field, get_ElementLength_0);
            app.RegisterCLRFieldSetter(field, set_ElementLength_0);
            app.RegisterCLRFieldBinding(field, CopyToStack_ElementLength_0, AssignFromStack_ElementLength_0);
            field = type.GetField("DataLength", flag);
            app.RegisterCLRFieldGetter(field, get_DataLength_1);
            app.RegisterCLRFieldSetter(field, set_DataLength_1);
            app.RegisterCLRFieldBinding(field, CopyToStack_DataLength_1, AssignFromStack_DataLength_1);
            field = type.GetField("Byte", flag);
            app.RegisterCLRFieldGetter(field, get_Byte_2);
            app.RegisterCLRFieldBinding(field, CopyToStack_Byte_2, null);
            field = type.GetField("SByte", flag);
            app.RegisterCLRFieldGetter(field, get_SByte_3);
            app.RegisterCLRFieldBinding(field, CopyToStack_SByte_3, null);
            field = type.GetField("Int16", flag);
            app.RegisterCLRFieldGetter(field, get_Int16_4);
            app.RegisterCLRFieldBinding(field, CopyToStack_Int16_4, null);
            field = type.GetField("UInt16", flag);
            app.RegisterCLRFieldGetter(field, get_UInt16_5);
            app.RegisterCLRFieldBinding(field, CopyToStack_UInt16_5, null);
            field = type.GetField("Int32", flag);
            app.RegisterCLRFieldGetter(field, get_Int32_6);
            app.RegisterCLRFieldBinding(field, CopyToStack_Int32_6, null);
            field = type.GetField("UInt32", flag);
            app.RegisterCLRFieldGetter(field, get_UInt32_7);
            app.RegisterCLRFieldBinding(field, CopyToStack_UInt32_7, null);
            field = type.GetField("Float", flag);
            app.RegisterCLRFieldGetter(field, get_Float_8);
            app.RegisterCLRFieldBinding(field, CopyToStack_Float_8, null);
            field = type.GetField("Int64", flag);
            app.RegisterCLRFieldGetter(field, get_Int64_9);
            app.RegisterCLRFieldBinding(field, CopyToStack_Int64_9, null);
            field = type.GetField("UInt64", flag);
            app.RegisterCLRFieldGetter(field, get_UInt64_10);
            app.RegisterCLRFieldBinding(field, CopyToStack_UInt64_10, null);
            field = type.GetField("Double", flag);
            app.RegisterCLRFieldGetter(field, get_Double_11);
            app.RegisterCLRFieldBinding(field, CopyToStack_Double_11, null);
            field = type.GetField("Decimal", flag);
            app.RegisterCLRFieldGetter(field, get_Decimal_12);
            app.RegisterCLRFieldBinding(field, CopyToStack_Decimal_12, null);
            field = type.GetField("Boolean", flag);
            app.RegisterCLRFieldGetter(field, get_Boolean_13);
            app.RegisterCLRFieldBinding(field, CopyToStack_Boolean_13, null);
            field = type.GetField("Struct", flag);
            app.RegisterCLRFieldGetter(field, get_Struct_14);
            app.RegisterCLRFieldBinding(field, CopyToStack_Struct_14, null);
            field = type.GetField("String", flag);
            app.RegisterCLRFieldGetter(field, get_String_15);
            app.RegisterCLRFieldBinding(field, CopyToStack_String_15, null);
            field = type.GetField("Class", flag);
            app.RegisterCLRFieldGetter(field, get_Class_16);
            app.RegisterCLRFieldBinding(field, CopyToStack_Class_16, null);
            field = type.GetField("ByteArray", flag);
            app.RegisterCLRFieldGetter(field, get_ByteArray_17);
            app.RegisterCLRFieldBinding(field, CopyToStack_ByteArray_17, null);
            field = type.GetField("SByteArray", flag);
            app.RegisterCLRFieldGetter(field, get_SByteArray_18);
            app.RegisterCLRFieldBinding(field, CopyToStack_SByteArray_18, null);
            field = type.GetField("Int16Array", flag);
            app.RegisterCLRFieldGetter(field, get_Int16Array_19);
            app.RegisterCLRFieldBinding(field, CopyToStack_Int16Array_19, null);
            field = type.GetField("UInt16Array", flag);
            app.RegisterCLRFieldGetter(field, get_UInt16Array_20);
            app.RegisterCLRFieldBinding(field, CopyToStack_UInt16Array_20, null);
            field = type.GetField("Int32Array", flag);
            app.RegisterCLRFieldGetter(field, get_Int32Array_21);
            app.RegisterCLRFieldBinding(field, CopyToStack_Int32Array_21, null);
            field = type.GetField("UInt32Array", flag);
            app.RegisterCLRFieldGetter(field, get_UInt32Array_22);
            app.RegisterCLRFieldBinding(field, CopyToStack_UInt32Array_22, null);
            field = type.GetField("FloatArray", flag);
            app.RegisterCLRFieldGetter(field, get_FloatArray_23);
            app.RegisterCLRFieldBinding(field, CopyToStack_FloatArray_23, null);
            field = type.GetField("Int64Array", flag);
            app.RegisterCLRFieldGetter(field, get_Int64Array_24);
            app.RegisterCLRFieldBinding(field, CopyToStack_Int64Array_24, null);
            field = type.GetField("UInt64Array", flag);
            app.RegisterCLRFieldGetter(field, get_UInt64Array_25);
            app.RegisterCLRFieldBinding(field, CopyToStack_UInt64Array_25, null);
            field = type.GetField("DoubleArray", flag);
            app.RegisterCLRFieldGetter(field, get_DoubleArray_26);
            app.RegisterCLRFieldBinding(field, CopyToStack_DoubleArray_26, null);
            field = type.GetField("DecimalArray", flag);
            app.RegisterCLRFieldGetter(field, get_DecimalArray_27);
            app.RegisterCLRFieldBinding(field, CopyToStack_DecimalArray_27, null);
            field = type.GetField("StructArray", flag);
            app.RegisterCLRFieldGetter(field, get_StructArray_28);
            app.RegisterCLRFieldBinding(field, CopyToStack_StructArray_28, null);
            field = type.GetField("StringArray", flag);
            app.RegisterCLRFieldGetter(field, get_StringArray_29);
            app.RegisterCLRFieldBinding(field, CopyToStack_StringArray_29, null);
            field = type.GetField("ClassArray", flag);
            app.RegisterCLRFieldGetter(field, get_ClassArray_30);
            app.RegisterCLRFieldBinding(field, CopyToStack_ClassArray_30, null);
            field = type.GetField("ByteArray2", flag);
            app.RegisterCLRFieldGetter(field, get_ByteArray2_31);
            app.RegisterCLRFieldBinding(field, CopyToStack_ByteArray2_31, null);
            field = type.GetField("SByteArray2", flag);
            app.RegisterCLRFieldGetter(field, get_SByteArray2_32);
            app.RegisterCLRFieldBinding(field, CopyToStack_SByteArray2_32, null);
            field = type.GetField("Int16Array2", flag);
            app.RegisterCLRFieldGetter(field, get_Int16Array2_33);
            app.RegisterCLRFieldBinding(field, CopyToStack_Int16Array2_33, null);
            field = type.GetField("UInt16Array2", flag);
            app.RegisterCLRFieldGetter(field, get_UInt16Array2_34);
            app.RegisterCLRFieldBinding(field, CopyToStack_UInt16Array2_34, null);
            field = type.GetField("Int32Array2", flag);
            app.RegisterCLRFieldGetter(field, get_Int32Array2_35);
            app.RegisterCLRFieldBinding(field, CopyToStack_Int32Array2_35, null);
            field = type.GetField("UInt32Array2", flag);
            app.RegisterCLRFieldGetter(field, get_UInt32Array2_36);
            app.RegisterCLRFieldBinding(field, CopyToStack_UInt32Array2_36, null);
            field = type.GetField("FloatArray2", flag);
            app.RegisterCLRFieldGetter(field, get_FloatArray2_37);
            app.RegisterCLRFieldBinding(field, CopyToStack_FloatArray2_37, null);
            field = type.GetField("Int64Array2", flag);
            app.RegisterCLRFieldGetter(field, get_Int64Array2_38);
            app.RegisterCLRFieldBinding(field, CopyToStack_Int64Array2_38, null);
            field = type.GetField("UInt64Array2", flag);
            app.RegisterCLRFieldGetter(field, get_UInt64Array2_39);
            app.RegisterCLRFieldBinding(field, CopyToStack_UInt64Array2_39, null);
            field = type.GetField("DoubleArray2", flag);
            app.RegisterCLRFieldGetter(field, get_DoubleArray2_40);
            app.RegisterCLRFieldBinding(field, CopyToStack_DoubleArray2_40, null);
            field = type.GetField("DecimalArray2", flag);
            app.RegisterCLRFieldGetter(field, get_DecimalArray2_41);
            app.RegisterCLRFieldBinding(field, CopyToStack_DecimalArray2_41, null);
            field = type.GetField("StructArray2", flag);
            app.RegisterCLRFieldGetter(field, get_StructArray2_42);
            app.RegisterCLRFieldBinding(field, CopyToStack_StructArray2_42, null);
            field = type.GetField("StringArray2", flag);
            app.RegisterCLRFieldGetter(field, get_StringArray2_43);
            app.RegisterCLRFieldBinding(field, CopyToStack_StringArray2_43, null);
            field = type.GetField("ClassArray2", flag);
            app.RegisterCLRFieldGetter(field, get_ClassArray2_44);
            app.RegisterCLRFieldBinding(field, CopyToStack_ClassArray2_44, null);
            field = type.GetField("List", flag);
            app.RegisterCLRFieldGetter(field, get_List_45);
            app.RegisterCLRFieldBinding(field, CopyToStack_List_45, null);
            field = type.GetField("Action", flag);
            app.RegisterCLRFieldGetter(field, get_Action_46);
            app.RegisterCLRFieldBinding(field, CopyToStack_Action_46, null);


            app.RegisterCLRCreateDefaultInstance(type, () => new huqiang.Data.DataType2());
            app.RegisterCLRCreateArrayInstance(type, s => new huqiang.Data.DataType2[s]);

            args = new Type[]{};
            method = type.GetConstructor(flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Ctor_0);

        }



        static object get_ElementLength_0(ref object o)
        {
            return huqiang.Data.DataType2.ElementLength;
        }

        static StackObject* CopyToStack_ElementLength_0(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.ElementLength;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_ElementLength_0(ref object o, object v)
        {
            huqiang.Data.DataType2.ElementLength = (System.Int32[])v;
        }

        static StackObject* AssignFromStack_ElementLength_0(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Int32[] @ElementLength = (System.Int32[])typeof(System.Int32[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            huqiang.Data.DataType2.ElementLength = @ElementLength;
            return ptr_of_this_method;
        }

        static object get_DataLength_1(ref object o)
        {
            return huqiang.Data.DataType2.DataLength;
        }

        static StackObject* CopyToStack_DataLength_1(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.DataLength;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_DataLength_1(ref object o, object v)
        {
            huqiang.Data.DataType2.DataLength = (System.Int32[])v;
        }

        static StackObject* AssignFromStack_DataLength_1(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Int32[] @DataLength = (System.Int32[])typeof(System.Int32[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            huqiang.Data.DataType2.DataLength = @DataLength;
            return ptr_of_this_method;
        }

        static object get_Byte_2(ref object o)
        {
            return huqiang.Data.DataType2.Byte;
        }

        static StackObject* CopyToStack_Byte_2(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Byte;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_SByte_3(ref object o)
        {
            return huqiang.Data.DataType2.SByte;
        }

        static StackObject* CopyToStack_SByte_3(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.SByte;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Int16_4(ref object o)
        {
            return huqiang.Data.DataType2.Int16;
        }

        static StackObject* CopyToStack_Int16_4(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Int16;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_UInt16_5(ref object o)
        {
            return huqiang.Data.DataType2.UInt16;
        }

        static StackObject* CopyToStack_UInt16_5(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.UInt16;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Int32_6(ref object o)
        {
            return huqiang.Data.DataType2.Int32;
        }

        static StackObject* CopyToStack_Int32_6(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Int32;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_UInt32_7(ref object o)
        {
            return huqiang.Data.DataType2.UInt32;
        }

        static StackObject* CopyToStack_UInt32_7(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.UInt32;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Float_8(ref object o)
        {
            return huqiang.Data.DataType2.Float;
        }

        static StackObject* CopyToStack_Float_8(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Float;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Int64_9(ref object o)
        {
            return huqiang.Data.DataType2.Int64;
        }

        static StackObject* CopyToStack_Int64_9(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Int64;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_UInt64_10(ref object o)
        {
            return huqiang.Data.DataType2.UInt64;
        }

        static StackObject* CopyToStack_UInt64_10(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.UInt64;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Double_11(ref object o)
        {
            return huqiang.Data.DataType2.Double;
        }

        static StackObject* CopyToStack_Double_11(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Double;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Decimal_12(ref object o)
        {
            return huqiang.Data.DataType2.Decimal;
        }

        static StackObject* CopyToStack_Decimal_12(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Decimal;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Boolean_13(ref object o)
        {
            return huqiang.Data.DataType2.Boolean;
        }

        static StackObject* CopyToStack_Boolean_13(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Boolean;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Struct_14(ref object o)
        {
            return huqiang.Data.DataType2.Struct;
        }

        static StackObject* CopyToStack_Struct_14(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Struct;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_String_15(ref object o)
        {
            return huqiang.Data.DataType2.String;
        }

        static StackObject* CopyToStack_String_15(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.String;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Class_16(ref object o)
        {
            return huqiang.Data.DataType2.Class;
        }

        static StackObject* CopyToStack_Class_16(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Class;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_ByteArray_17(ref object o)
        {
            return huqiang.Data.DataType2.ByteArray;
        }

        static StackObject* CopyToStack_ByteArray_17(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.ByteArray;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_SByteArray_18(ref object o)
        {
            return huqiang.Data.DataType2.SByteArray;
        }

        static StackObject* CopyToStack_SByteArray_18(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.SByteArray;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Int16Array_19(ref object o)
        {
            return huqiang.Data.DataType2.Int16Array;
        }

        static StackObject* CopyToStack_Int16Array_19(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Int16Array;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_UInt16Array_20(ref object o)
        {
            return huqiang.Data.DataType2.UInt16Array;
        }

        static StackObject* CopyToStack_UInt16Array_20(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.UInt16Array;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Int32Array_21(ref object o)
        {
            return huqiang.Data.DataType2.Int32Array;
        }

        static StackObject* CopyToStack_Int32Array_21(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Int32Array;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_UInt32Array_22(ref object o)
        {
            return huqiang.Data.DataType2.UInt32Array;
        }

        static StackObject* CopyToStack_UInt32Array_22(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.UInt32Array;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_FloatArray_23(ref object o)
        {
            return huqiang.Data.DataType2.FloatArray;
        }

        static StackObject* CopyToStack_FloatArray_23(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.FloatArray;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Int64Array_24(ref object o)
        {
            return huqiang.Data.DataType2.Int64Array;
        }

        static StackObject* CopyToStack_Int64Array_24(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Int64Array;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_UInt64Array_25(ref object o)
        {
            return huqiang.Data.DataType2.UInt64Array;
        }

        static StackObject* CopyToStack_UInt64Array_25(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.UInt64Array;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_DoubleArray_26(ref object o)
        {
            return huqiang.Data.DataType2.DoubleArray;
        }

        static StackObject* CopyToStack_DoubleArray_26(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.DoubleArray;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_DecimalArray_27(ref object o)
        {
            return huqiang.Data.DataType2.DecimalArray;
        }

        static StackObject* CopyToStack_DecimalArray_27(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.DecimalArray;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_StructArray_28(ref object o)
        {
            return huqiang.Data.DataType2.StructArray;
        }

        static StackObject* CopyToStack_StructArray_28(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.StructArray;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_StringArray_29(ref object o)
        {
            return huqiang.Data.DataType2.StringArray;
        }

        static StackObject* CopyToStack_StringArray_29(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.StringArray;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_ClassArray_30(ref object o)
        {
            return huqiang.Data.DataType2.ClassArray;
        }

        static StackObject* CopyToStack_ClassArray_30(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.ClassArray;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_ByteArray2_31(ref object o)
        {
            return huqiang.Data.DataType2.ByteArray2;
        }

        static StackObject* CopyToStack_ByteArray2_31(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.ByteArray2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_SByteArray2_32(ref object o)
        {
            return huqiang.Data.DataType2.SByteArray2;
        }

        static StackObject* CopyToStack_SByteArray2_32(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.SByteArray2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Int16Array2_33(ref object o)
        {
            return huqiang.Data.DataType2.Int16Array2;
        }

        static StackObject* CopyToStack_Int16Array2_33(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Int16Array2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_UInt16Array2_34(ref object o)
        {
            return huqiang.Data.DataType2.UInt16Array2;
        }

        static StackObject* CopyToStack_UInt16Array2_34(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.UInt16Array2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Int32Array2_35(ref object o)
        {
            return huqiang.Data.DataType2.Int32Array2;
        }

        static StackObject* CopyToStack_Int32Array2_35(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Int32Array2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_UInt32Array2_36(ref object o)
        {
            return huqiang.Data.DataType2.UInt32Array2;
        }

        static StackObject* CopyToStack_UInt32Array2_36(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.UInt32Array2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_FloatArray2_37(ref object o)
        {
            return huqiang.Data.DataType2.FloatArray2;
        }

        static StackObject* CopyToStack_FloatArray2_37(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.FloatArray2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_Int64Array2_38(ref object o)
        {
            return huqiang.Data.DataType2.Int64Array2;
        }

        static StackObject* CopyToStack_Int64Array2_38(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Int64Array2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_UInt64Array2_39(ref object o)
        {
            return huqiang.Data.DataType2.UInt64Array2;
        }

        static StackObject* CopyToStack_UInt64Array2_39(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.UInt64Array2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_DoubleArray2_40(ref object o)
        {
            return huqiang.Data.DataType2.DoubleArray2;
        }

        static StackObject* CopyToStack_DoubleArray2_40(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.DoubleArray2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_DecimalArray2_41(ref object o)
        {
            return huqiang.Data.DataType2.DecimalArray2;
        }

        static StackObject* CopyToStack_DecimalArray2_41(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.DecimalArray2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_StructArray2_42(ref object o)
        {
            return huqiang.Data.DataType2.StructArray2;
        }

        static StackObject* CopyToStack_StructArray2_42(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.StructArray2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_StringArray2_43(ref object o)
        {
            return huqiang.Data.DataType2.StringArray2;
        }

        static StackObject* CopyToStack_StringArray2_43(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.StringArray2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_ClassArray2_44(ref object o)
        {
            return huqiang.Data.DataType2.ClassArray2;
        }

        static StackObject* CopyToStack_ClassArray2_44(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.ClassArray2;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static object get_List_45(ref object o)
        {
            return huqiang.Data.DataType2.List;
        }

        static StackObject* CopyToStack_List_45(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.List;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_Action_46(ref object o)
        {
            return huqiang.Data.DataType2.Action;
        }

        static StackObject* CopyToStack_Action_46(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Data.DataType2.Action;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }



        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* __ret = ILIntepreter.Minus(__esp, 0);

            var result_of_this_method = new huqiang.Data.DataType2();

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }


    }
}
